package com.witframework.plugin.lucene.searcher;

import org.apache.lucene.search.Hits;

import com.witframework.plugin.lucene.SearchException;

/**
 * 搜索器接口<P>
 * 系统可通过注册多个或不同的Searcher来进行分布式或对不同系统进行搜索
 * 
 * @author wuxinyang
 * @TODO 完成对PrefixQuery WildcardQuery RangeQuery等
 */
public interface Searcher {
		
	/**
	 * 对所有资源进行搜索
	 *
	 * @param queryString
	 * @return -Hits对象
	 */
	public Hits search(String queryString) throws SearchException;
	/**
	 * 只搜索特定的资源
	 * @param queryString
	 * @param resource
	 * @return -Hits对象
	 */
	public Hits search(String queryString,String[] resource) throws SearchException;
	
	/**
	 * 只搜索特定的资源的特定Field
	 * @param queryString
	 * @param resource
	 * @return -Hits对象
	 */
	public Hits search(String queryString,String resource,String[] field) throws SearchException;
}